float sdCircle(vec2 p,float r){
    return length(p)-r;
}
float sdBox(in vec2 p,in vec2 b)
{
    vec2 d=abs(p)-b;
    return length(max(d,0.))+min(max(d.x,d.y),0.);
}
void mainImage(out vec4 fragColor,in vec2 fragCoord){
    vec2 uv=fragCoord/iResolution.xy;
    
    uv=(uv-.5)*2.;
    // TODO: 这个地方还是不太了解
    uv.x*=iResolution.x/iResolution.y;
    // float d=sdCircle(uv,.5  );
    
    // uv*=vec2(.1,.1);
    // uv/=vec2(2.,2.);
    float d=sdBox(uv,vec2(.5,.5));
    float c=smoothstep(0.,.02,d);
    
    if(length(uv)<=.01){
        fragColor=vec4(vec3(1,1,1),1.);
    }else{
        fragColor=vec4(vec3(c),1.);
    }    
}